

// 灌溉计划类型
export enum IrrigatePlanType {
  IRRIGATE_PLAN_TYPE_MANUAL = 0,    // 手动模式
  IRRIGATE_PLAN_TYPE_TIMING,        // 定时模式
  IRRIGATE_PLAN_TYPE_THRESHOLD,     // 阈值模式
  IRRIGATE_PLAN_TYPE_MAX
}

// 定时模式的周期
export enum IrrigateTimerCycle {
  IrrigateTimerCycle_EveryDay = 0,  // 每天
  IrrigateTimerCycle_EveryWeek,     // 每周
  IrrigateTimerCycle_EveryMonth,    // 每月
  IrrigateTimerCycle_EveryYear,     // 每年
}
// 灌溉计划为定时模式，定时配置信息
export type IrrigateTimer = {
  cycle: IrrigateTimerCycle
  date: Date
}

// 灌溉计划为阈值模式，阈值配置信息
export type IrrigateThreshold = {
  temperature_enable: boolean   // 温度启用
  temperature: number           // 温度
  humidity_enable: boolean      // 湿度启用
  humidity: number              // 湿度
  soil_humidity_enable: boolean // 土壤湿度启用
  soil_humidity: number         // 土壤湿度
  lumination_enable: boolean    // 光照启用
  lumination: number            // 光照
}

// 灌溉控制信息
export type Irrigate = {
  id: string          // 编号
  name: string        // 名称
  plan_type: number   // 灌溉计划类型
  timer: Array<IrrigateTimer>           // 定时模式
  threshold: Array<IrrigateThreshold>   // 阈值模式
}
